package com.atguigu.sql.data.jdbc

import java.util.Properties

import com.atguigu.cm.constan.MysqlCons
import com.atguigu.sql.util.MySparkSessionUtil
import org.apache.spark.sql.{DataFrame, SparkSession}

/**
 * description ：jdbc读取
 * author      ：剧情再美终是戏 
 * mail        : 13286520398@163.com
 * date        ：Created in 2020/1/12 19:49
 * modified By ：
 * version:    : 1.0
 */
object RJdbc {

  def main(args: Array[String]): Unit = {

    // 获取 sparkSession
    val spark: SparkSession = MySparkSessionUtil.get(args)

    // TODO 1、通用方法获取
    //    val df: DataFrame = spark.read.format("jdbc")
    //      .option("url", MysqlCons.url + "/rdd")
    //      .option("user", MysqlCons.user)
    //      .option("password", MysqlCons.passWord)
    //      .option("dbtable", "user")
    //      .load()

    // TODO 2、通过特定的方式来获取
    val properties = new Properties() // 创建Properties文件
    properties.setProperty("user", MysqlCons.user)
    properties.setProperty("password", MysqlCons.passWord)
    val df: DataFrame = spark.read.jdbc(
      MysqlCons.url + "/rdd",
      "user",
      properties
    )

    // 输出
    df.show()

    // 关闭 sparkSession 资源
    MySparkSessionUtil.close(spark)
  }

}
